$(document).ready(function() {
    init_aju();
});

function init_aju () {
    window.aju = new AjaxUpload('upimg', {
        action: '/news/addimg.php',
        name: 'image',
        onSubmit: function (file, ext) {
            if (!(ext && /^(jpg|png|jpeg|gif)$/i.test(ext))){
                // extension is not allowed
                alert('Ошибка: выбранный файл - не картинка!');
                // cancel upload
                return false;
            }
            return true;
        },
        onComplete: function(file, response) {
            if (response.match(/fail/)) {
                alert('Загрузка не удалась :(');
                return;
            } else {
                $('#upimg').attr('src', "/uploads/"+trim(response)+"/");
                $('#upimg').addClass('uploaded-image');
                $('.upimg_menu').css('display', 'block');
                $('.uploaded-image').draggable();
                $('#img-id').val(response);
            }
            this.disable();
        }
    });
}

function minimg() {
    var img = $('.uploaded-image');
    var w = img.width()/2;
    var h = img.height()/2;
    img.css({
        width: w,
        height: h,
        left: (img.css('left') - w)/2,
        top: (img.css('top') - h)/2
    })
};

function resimg() {
    var img = $('.uploaded-image');
    var w = img.width()/2;
    var h = img.height()/2;
    img.css({
        width: '',
        height: '',
        left: 0,
        top: 0
    })
}

function replaceTitle() {
    if (document.getElementById('nov-title-ed')) return;
    var text = document.getElementById('nov-title-value');
    var elem = document.getElementById('nov-title-vis');
    elem.innerHTML = '<input type="text" id="nov-title-ed" value="'+text.value+'" onblur="saveTitle()"/>';
    var ed = document.getElementById('nov-title-ed');
    ed.focus();
}

function saveTitle() {
    var text = document.getElementById('nov-title-value');
    var vis = document.getElementById('nov-title-vis');
    var ed = document.getElementById('nov-title-ed');
    if (ed.value) {
        text.value = ed.value;
        vis.innerHTML = ed.value;
    } else {
        text.value = '';
        vis.innerHTML='Заголовок новости';
    }
}
function replaceText() {
    var text = document.getElementById('nov-text-value');
    var elem = document.getElementById('nov-text-vis');
    elem.innerHTML = '<textarea id="nov-text-ed" onblur="saveText()">'+text.value+'</textarea>';
    var ed = document.getElementById('nov-text-ed');
    ed.focus();
}

function saveText() {
    var text = document.getElementById('nov-text-value');
    var vis = document.getElementById('nov-text-vis');
    var ed = document.getElementById('nov-text-ed');
    if (ed.value) {
        text.value = ed.value;
        vis.innerHTML = ed.value.replace(/\n/g, '<br/>');
    }
    else {
        text.value = '';
        vis.innerHTML='Текст новости';
    }
}
function replaceHTMLTitle() {
    if (document.getElementById('nov-html_title-ed')) return;
    var text = document.getElementById('nov-html_title-value');
    var elem = document.getElementById('nov-html_title-vis');
    elem.innerHTML = '<input type="text" id="nov-html_title-ed" value="'+text.value+'" onblur="saveHTMLTitle()"/>';
    var ed = document.getElementById('nov-html_title-ed');
    ed.focus();
}

function saveHTMLTitle() {
    var text = document.getElementById('nov-html_title-value');
    var vis = document.getElementById('nov-html_title-vis');
    var ed = document.getElementById('nov-html_title-ed');
    if (ed.value && ed.value.match(/[a-z][a-z0-9]*/) && ed.value.length < 32) {
        text.value = ed.value;
        var d = new Date();
        var month = d.getMonth()+1;
        if (month < 10) {
            month = '0'+month;
        }
        var day = d.getDate();
        if (day < 10)
            day = '0'+day;
        vis.innerHTML = '/'+d.getFullYear()+'/'+month+'/'+day+'/'+ed.value+'.html';
    } else {
        text.value = '';
        vis.innerHTML='<font color="red">некорректная короткая ссылка.</font>';
    }
}

function showImageForm() {
    
}

function popup(url, sizeX, sizeY) {
    hidePopup();
    if (!sizeX) sizeX = 0.8;
    if (!sizeY) sizeY = 0.8;
    $('body').append("<div class='popup-shadow'/><div class='popup' id='editor'><iframe src='"+url+"' class='editor_iframe'/></div>");
    var ps = $('.popup-shadow');
    var pp = $('.popup');
    var pi = $('.popup iframe');

    ps.click(function() {
        hidePopup();
    });

    pi.css({
        'background-color': 'white',
        width: '100%',
        height: '100%'
    });
    pp.css('background-color', 'white');
    ps.css('background-color', 'black');

    ps.css({
        position: 'absolute',
        top: '0px',
        left: '0px',
        width: '100%',
        height: '100%',
        'z-index': '81'
    });
    pp.css({
        position: 'absolute',
        top: '0px',
        left: '0px',
        width: '100%',
        height: '100%',
        'z-index': '82'
    });

    ps.css('opacity', 0);
    pp.css('opacity', 0);
    window.redrawPopup = function() {
        var ps = $('.popup-shadow');
        var pp = $('.popup');
        if (pp) {
            pp.css('width', $('body').width() * sizeX);
            pp.css('height', $('body').height() * sizeY);
            pp.css('top', ($(window).height() - pp.height()) / 2);
            pp.css('left', ($(window).width() - pp.width()) / 2);
            ps.css('background-color', 'black');
            pp.css('background-color', 'transparent');
        } else {
            clearInterval(window.redrawPopupInterval);
        }
    };

    ps.css('display', 'block');
    pp.css('display', 'block');
    window.redrawPopup();

    ps.fadeTo(1000, 0.5);
    pp.fadeTo(1000, 1);
}

function hidePopup() {
    var ps = $('.popup-shadow');
    var pp = $('.popup');
    if (ps.length ==0) return;
    ps.fadeTo(300, 0);
    pp.fadeTo(300, 0, function () {
        pp.remove();
        ps.remove();
    });
    $('#keypresser').focus();
}

function startPopupRedrawer() {
    window.redrawPopupInterval = setInterval(window.redrawPopup, 100);
}

function noveltySubmit(e) {
    var img = $('.uploaded-image');
    var ed = document.getElementById('nov-html_title-value');
    var title = document.getElementById('nov-title-value');
    var text = document.getElementById('nov-text-value');
    if (img.length == 0) {
        alert('Пожалуйста, загрузите картинку для новости!');
    } else if (!title.value) {
        alert('Пожалуйста, укажите заголовок для новости!');
    } else if (!text.value) {
        alert('Пожалуйста, укажите текст новости!');
    } else if (!ed.value) {
        alert('Пожалуйста, укажите корректную короткую ссылку.'+
                ' При вводе ссылки используйте только маленькие английские символы!');
    } else if (e) {
//        alert('submit!');
        // Формируем данные о размере картинки
        document.getElementById('img-left').value = img.position()['left'];
        document.getElementById('img-top').value = img.position()['top'];
        document.getElementById('img-w').value = img.innerWidth();
        document.getElementById('img-h').value = img.innerHeight();
        return true;
    } else {
        $('#novelty-form').submit();
        return true;
    }
    if (e) {
        e.stopPropagation();
        e.preventDefault();
        return false;
    }
    return true;
}

function delimg() {
    var img = $('.uploaded-image');
    $('#upimg').attr('src', "upimg-200.png");
    $('#upimg').attr('style', '');
    $('#upimg').removeClass('uploaded-image');
    $('.upimg_menu').css('display', 'none');
    $('.uploaded-image').draggable('destroy');
    $.ajax({
        type: 'GET',
        url: '/uploads/drop/'+$('#img-id').val()+'/'
    })
    $('#img-id').val('none');
    init_aju();
}

function trim(string)
{
    return string.replace(/(^\s+)|(\s+$)/g, "");
}
